Affine Loop Invariant Generation via Matrix Algebra
نویسندگان
چکیده
Abstract Loop invariant generation, which automates the generation of assertions that always hold at entry a while loop, has many important applications in program analysis and formal verification. In this work, we target an category loops, namely affine are unnested loops with loop guards variable updates. Such class widely exists programs yet still lacks general but efficient approach to generation. We propose novel matrix-algebra automatically synthesizing inductive invariants form inequality. The main novelty our is (i) sense it theoretically addresses all cases over (ii) can be efficiently automated through (such as eigenvalue, matrix inverse) methods. details follows. First, for case where guard tautology (i.e., ‘ true ’), show eigenvalues their eigenvectors matrices derived from updates body encompass meaningful invariants. Second, more conjunction inequalities, completely invariant-generation problem by first establishing inverse relationship between key parameter application Farkas’ lemma, then solving feasible domain conditions, finally illustrating finite number values suffices w.r.t tightness condition generated. Experimental results compared previous approaches, generates much accurate existing new benchmarks within few seconds, demonstrating generality efficiency approach.
منابع مشابه
Assertion-based Loop Invariant Generation
Many automated techniques for invariant generation are based on the idea that the invariant should show that something “bad” will not happen in the analyzed program. In this article we present an algorithm for loop invariant generation in programs with assertions using a weakest precondition calculus. We have realized the algorithm in the extended static checker ESC/Java2. Challenges stemming f...
متن کاملInvariant elements in the dual Steenrod algebra
In this paper, we investigate the invariant elements of the dual mod $p$ Steenrod subalgebra ${mathcal{A}_p}^*$ under the conjugation map $chi$ and give bounds on the dimensions of $(chi-1)({mathcal{A}_p}^*)_d$, where $({mathcal{A}_p}^*)_d$ is the dimension of ${mathcal{A}_p}^*$ in degree $d$.
متن کاملALICe: A Framework to Improve Affine Loop Invariant Computation
A crucial point in program analysis is the computation of loop invariants. Accurate invariants are required to prove properties on a program but they are difficult to compute. Extensive research has been carried out but, to the best of our knowledge, no benchmark has ever been developed to compare algorithms and tools. We present ALICe, a toolset to compare automatic computation techniques of a...
متن کاملSimplifying Loop Invariant Generation Using Splitter Predicates
We present a novel static analysis technique that substantially improves the quality of invariants inferred by standard loop invariant generation techniques. Our technique decomposes multi-phase loops, which require disjunctive invariants, into a semantically equivalent sequence of single-phase loops, each of which requires simple, conjunctive invariants. We define splitter predicates which are...
متن کاملParametric GPU Code Generation for Affine Loop Programs
Partitioning a parallel computation into finitely sized chunks for effective mapping onto a parallel machine is a critical concern for source-to-source compilation. In the context of OpenCL and CUDA, this translates to the definition of a uniform hyper-rectangular partitioning of the parallel execution space where each partition is subject to a fine-grained distribution of resources that has a ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2022
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-031-13185-1_13